12 - HPC Cafe: Using the Arm DDT debugger (Georg Hager) [ID:19957]
50 von 373 angezeigt

Alright, I hope you can hear me and you can see my slide.

Yes.

Okay, good.

So the last part of today is about ARM DDT.

The first two talks by Thomas and Aisha were about performance tools, liquid and an ITAC.

DDT is a debugger.

And if you have had any contact with debuggers, you know these are bug searching tools that

allow you to step through your code, inspect data and see what's going on if anything is

wrong.

DDT is the product we have licensed at RZE.

So you can find modules on EME and MEGI for it.

It's part of ArmForge, which is a larger package that also contains MAP, which is a performance

profiler and we might come back to MAP at a later HPC Cafe.

But it would be too much for today.

So DDT is actually a full-fledged serial debugger.

If you're used to GDB or DDD, which is an open source GUI frontend for GDB, then you

know what it can do.

It can debug serial programs, but it's also compatible with OpenMP runtime.

So it can run OpenMP parallel programs and step through them, although there are some

caveats which I will touch on later a little bit.

It is also able to debug MPI parallel programs and SPMD and MPMD modes.

So you can run different binaries in the same MPI program if you must.

It has the usual feature set.

So you can single step through your source code.

You can step into or out of functions, step over functions, but still executing them,

inspect variables and two very nice features which I will demonstrate later in the demo

are watch points and trace points.

So if you're in favor of using printf for doing your debugging, which I am definitely,

then for example, trace points are the way to go with a debugger.

They're really easy to handle in DDT.

It supports natively C, C++ and Fortran.

Actually, I haven't looked up whether other languages are supported, but these three are,

of course, the standard HPC languages.

And there's some features which make it a capable parallel debugger.

There's basically just one competing product, which is TotalView.

And at one point we had to decide which one of the two to license, and we decided for

DDT some months ago.

Okay.

So what does it look like?

I will have a demo later.

This is just a very small slide set, so don't worry.

This is the main interface window.

I fired it up here with an OpenMP program, but that doesn't really matter here.

So I just quickly walk you through the components just to make you, just to show what's there.

So there's a thread process and control window or banner or ribbon where you see all your

threads and processes running.

You can also group them to your liking, which I will show later.

On the left, there's a panel that lets you navigate through the functions in the current

file and through all the files that are potentially part of the program.

At the bottom, there's a couple of windows that let you view the stack trace of the current

Teil einer Videoserie :
Teil eines Kapitels:
HPC Café

Zugänglich über

Offener Zugang

Dauer

00:25:14 Min

Aufnahmedatum

2020-07-21

Hochgeladen am

2020-07-21 11:06:22

Sprache

en-US

Tags

HPC rrze Security clusters tmux LIKWID Pin pychachesim
Einbetten
Wordpress FAU Plugin
iFrame
Teilen